package net.studio.simpletetris.intf;


public interface IFigure extends IPosition {

	public static class MoveDirect {
		public static final int DOWN = 0;
		public static final int LEFT = 1;
		public static final int RIGHT = 2;
		public static final int UP = 3;
		
		public static int getReverseDirect(int direct) {
			return 3 - direct;
		}
	}

	public static class RotateDirect {
		public static final int CLOCKWISE = 0;
		public static final int ANTICLOCKWISE = 1;
	}
	
	void move(int direct);
	
	void rotate(int direction);
	
	void addBlock(IBlock block);
	
	void removeBlock(int index);
	
	IBlock getBlock(int index);
	
	int getBlockCount();
	
	int getBlockSize();
	
	int getWidth();
	
	int getHeight();
	
	IFigure clone();
	
}
